package com.sneaker.shower.socket;

import com.sneaker.shower.socket.common.PSWsRequest;
import com.sneaker.shower.socket.common.PSWsResponse;
import com.sneaker.shower.socket.feature.SignAble;

import java.io.Serializable;
import java.util.Collection;

/**
 * <h1>Channel</h1>
 * <pre>
 * @Description
 * </pre>
 *
 * @Author lopo
 * @Date 2018/10/17
 */
public interface Channel extends SignAble, LifeCycle {
    void send(Serializable s);

    Serializable getId();

    Collection<Group<Channel>> groups();

    void doAuth(PSWsRequest request, PSWsResponse response);

    default void check() {

    }
}
